﻿//给定n个活动，每个活动安排的时间为[ai, bi)。
//求最多可以选择多少个活动，满足选择的活动时间两两之间没有重合。
//
//输入描述：
//第一行输入一个整数n(1≤n≤2⋅10^5)，表示可选活动个数。
//接下来的n行，每行输入两个整数ai, bi(0≤ai< bi≤10^9)，表示第i个活动的时间。
//输出描述：
//输出一行一个整数，表示最多可选择的活动数。
//
//输入：
//	3
//	1 4
//	1 3
//	3 5
//输出：
//	2

#include <iostream>
#include <algorithm>
using namespace std;
typedef pair<int, int> PII;
const int N = 2e5 + 10;
int n;
PII arr[N];
int main() {
    cin >> n;
    for (int i = 0; i < n; i++) cin >> arr[i].first >> arr[i].second;
    sort(arr, arr + n);
    int ret = 0, r = arr[0].second;
    for (int i = 1; i < n; i++) {
        if (arr[i].first < r) { // 有重叠
            r = min(r, arr[i].second);
        }
        else { // 没有重叠
            ret++;
            r = arr[i].second;
        }
    }
    cout << ret + 1 << endl;
    return 0;
}






